In the field of matrix printers, a printer may include one or more printheads which are caused to be moved in a reciprocating manner across the printer for printing in a serial number. The printhead may be moved by a cable and pulley arrangement, a lead screw, or a cam drive or like drive mechanism. Each of the printheads includes a plurality of elements supported in a group and actuated or energized at high speed to cause printing of dots by the movement of dot-making elements, including droplets of ink or by the movement of print wires attached to solenoids which are caused to be impacted against the paper. The print wires or ink jet nozzles are usually spaced vertically so as to print the dots making up the characters in a line as the printhead is moved across the printer. In this manner, a line of printed characters is completed upon travel of the printhead in one direction across the paper.
Another form of matrix printer includes the use of a plurality of printing elements supported from a carriage in a manner wherein the elements are aligned horizontally across the printer and upon each pass of the carriage respective dots of characters are printed in a line or row and subsequent passes of the carriage and printing elements cause additional lines of dots to be printed to complete the dot matrix characters along the line of printing. Common arrangements include the use of four or eight printing elements supported from the carriage.
A timing strip with slots or like indicia is commonly used to originate the actuation of the printing elements wherein one or more sensors sense the slots or other indicia to prints dots in precise columns across the paper. While the printing is frequently performed in one direction, for example, left to right, the printing can also be done in both directions of travel of the printhead carriage or of the printing element carriage.
The speed of a DC motor driving a printhead influences the location of each print dot that forms a matrix of dots creating a character. The DC motor's speed is in turn influenced by the amount of torque applied to the motor'output shaft, the temperature, the humidity, mechanical wear and other miscellaneous factors. Motor speed controllers are used to attempt to maintain the speed of the DC motor at a relative constant to insure quality printing, but it has been determined that speed controllers generally can only control speed within a limited range and when the loading on the motor exceeds this range, the motor's speed is not accurately controlled.
It is accordingly desirable to have a motor speed controller which can accommodate a shift in loading range of a motor so as to maintain the motor's speed substantially constant.
State-of-the-art circuitry commonly uses analog closed loop or open loop control circuits to operate DC motors at a constant angular velocity regardless of torque load. Usually torque current or encoded shaft velocity is fed back into the control circuit to adjust DC motor shaft speed for constant angular velocity. Such analog circuits are not applicable to large scale integration with other digital type of circuits found in a microprocessor environment. For economy and efficiency of operation, it would be desirable to provide motor control circuitry which employs digital components applicable to large scale integration (LSI).